home *** CD-ROM | disk | FTP | other *** search
/ Delphi Informant Complete 1995 - 2000 / Delphi Informant Complete 1995 to 2000.iso / Delphi Informant Magazine Complete Works SOURCE CODE 1998.rar / 1998 / Mar / di9803cm / SelectReps.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-12-14  |  2.8 KB  |  93 lines

  1. unit SelectReps;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls;
  8.  
  9. type
  10.   TfrmSelectReps = class(TForm)
  11.     Button1: TButton;
  12.     lstSrIdx: TListBox;
  13.     lstSelectReps: TListBox;
  14.     procedure Button1Click(Sender: TObject);
  15.     procedure lstSelectRepsDblClick(Sender: TObject);
  16.   private
  17.     { Private declarations }
  18.   public
  19.     { Public declarations }
  20.   end;
  21.  
  22. var
  23.   frmSelectReps: TfrmSelectReps;
  24.  
  25. implementation
  26.  
  27. uses
  28.    Main, SMgr, Acct, POETAutomation_TLB;
  29.  
  30. {$R *.DFM}
  31.  
  32. procedure TfrmSelectReps.Button1Click(Sender: TObject);
  33. begin
  34.    Close;
  35. end;
  36.  
  37. procedure TfrmSelectReps.lstSelectRepsDblClick(Sender: TObject);
  38. var
  39.    i: integer;
  40.    s: string;
  41. begin
  42.    SalesReps.First;
  43.    for i := 1 to lstSelectReps.ItemIndex do
  44.       begin
  45.          If lstSelectReps.ItemIndex = 0 then break;
  46.          SalesReps.Next;
  47.       end;
  48.    SalesRep.PtObj := SalesReps.Get;
  49.    s := SalesRep.GetSurrogate;
  50.    if FormSource = 2 then       // called from SalesMgr form
  51.    begin
  52.       If SmSalesReps.First then repeat            //Check if SalesRep has already been
  53.          SmSalesRep.PtObj := SmSalesReps.Get;     // assigned to this SalesManager
  54.          if (s = (SmSalesRep.GetSurrogate)) then
  55.          begin
  56.             ShowMessage('The SalesRep has already been assigned to this SalesMgr!');
  57.             exit;
  58.          end;
  59.       until not SmSalesReps.Next;
  60.       frmSMgr.lstSmSReps.Items.Add(SalesRep.GetLname + ', ' + SalesRep.GetFname);
  61.       frmSMgr.lstSmSrIdx.Items.Add(SalesRep.GetSurrogate);
  62.       SmSalesReps := SalesMgr.GetSalesReps;
  63.       SmSalesReps.Append(SalesRep.PtObj);     //add Rep to SalesMgr's list
  64.       SalesMgr.Store(PtDeep);
  65.       SalesRep.SetSalesMgr(SalesMgr);         //add SalesMgr to Rep's list
  66.       SalesRep.Store(PtDeep);
  67.       frmSMgr.txtGSales.text := IntToStr(SalesMgr.GetCurrentSales);
  68.       frmSMgr.txtTSales.text := IntToStr(SalesMgr.GetTargetSales);
  69.    end;
  70.  
  71.    if FormSource = 3 then      //called from Accounts form
  72.    begin
  73.       If AcctSalesReps.First then repeat              //Check if SalesRep has already been
  74.          AcctSalesRep.PtObj := AcctSalesReps.Get;     // assigned to this Account
  75.          if (s = (AcctSalesRep.GetSurrogate)) then
  76.          begin
  77.             ShowMessage('The SalesRep has already been assigned to this Account!');
  78.             exit;
  79.          end;
  80.       until not AcctSalesReps.Next;
  81.       frmAcct.lstAcctReps.Items.Add(SalesRep.GetLname + ', ' + SalesRep.GetFname);
  82.       frmAcct.lstArIdx.Items.Add(SalesRep.GetSurrogate);
  83.       AcctSalesReps := Account.GetSalesReps;
  84.       AcctSalesReps.Append(SalesRep.PtObj);
  85.       Account.Store(PtDeep);
  86.       RepAccounts := SalesRep.GetAccounts;        //add acct to Rep's list
  87.       RepAccounts.Append(Account.PtObj);
  88.       SalesRep.Store(PtDeep);
  89.    end;
  90. end;
  91.  
  92. end.
  93.